A Basic Set Of Test Design Techniques

Relationships
Main Description

The place of test design techniques in the test process

In the “Planning” phase, it is determined for every test type whether test design techniques will be applied, and if so, which ones. The choice of a particular test design technique mainly depends on:

  • The system characteristics (usually the quality characteristics) that are to be tested
  • The depth of testing to which these system characteristics will be subjected
  • The available relevant information on the system characteristics. This defines the test basis for the test design technique.
  • The appropriate coverage types – together with the basic techniques – that can be applied to the test basis.

Test design techniques are applied in the “Specification” phase, in which the test cases and test scripts are specified in five generic steps:

  1. Identifying test situations
  2. Creating logical test cases
  3. Creating physical test cases
  4. Establishing the starting point
  5. Creating the test script

The first two steps result in the logical test design, with which the required coverage is guaranteed. The last three steps result in the physical test design that will provide sound preparation for the test execution. See also section Essential Test Design Concepts.

Setup and structure of this guideline

This guideline offers a varied set of test design techniques that most organisations can apply immediately. The list is not exhaustive. To supplement it, a test organisation could consult the literature, such as [Beizer, 1990] and [Copeland, 2003], or even create new techniques, as described at the end of this introduction.

The description of each test design technique in this section covers the following subjects:

  • Description - This provides a concise impression of the technique by means of a brief sketch of the most important features, such as:
    • The goal of the test
    • The test basis required
    • The basic techniques applied
    • Tips for variations in the technique.
  • Points of focus in the steps - This explains how the generic steps are specifically elaborated for the relevant test design technique.

The emphasis is on the first two steps, in which the test situations and logical test cases are designed, since this is where the biggest distinction exists between the various test design techniques.

The next two steps, in which the logical test cases are translated into physical test cases, are generally the same for most test design techniques and therefore are given less emphasis. They have already largely been described in the sections Task: Create Test Specifications (AST) and Essential Test Design Concepts. The final step, “Creating the test script”, is not set out in this section, since the process is too organisation-specific and does not vary per test design technique.

Where possible, a concrete example has been set out in detail. This can be used as a test-specification template for the relevant test design technique. For a detailed explanation of the applied basic techniques, section Coverage Types And Basic Techniques should be consulted.

Creating new test design techniques

Test design techniques exist in many variants and combinations. A test design technique is a specific application of the general basic techniques to a company-specific situation. Depending on which system characteristics a company attaches importance to, and how the system behaviour is defined, a company can formulate its own tailor-made test design technique. In creating such a ‘new’ test design technique, the following questions should be answered:

  • What is to be tested? - This says something about the quality characteristics or test type for which the test design technique is intended.
  • What information is available for this? - All the available relevant information should be sought out and collected. This defines the test basis for the test design technique.
  • What kind of situations are to be tested, and how thoroughly should they be covered? - This should be expressed in the definition of one or more coverage types and associated basic techniques.
  • In which form should the test design be documented? - Are the test specifications to be established as text, in tables or spreadsheets, or in a specific test tool? 

Overview of the test design techniques

Table 1 summarises the most important features of the test design techniques discussed here. This can be of assistance in comparing the techniques and in selecting the most suitable ones.

Test design technique

Coverage  types / basic techniques

Test basis

Quality characteristic / Test type

Decision Table Test

Multiple condition coverage

Individual conditions of decision tables, without structure. 

Detail functionality

Data Combination Test

Equivalence classes and (Multiple condition coverage or pairwise testing)

All types of test basis

Overall functionality

Detail functionality

Elementary

Comparison Test

Modified condition / decision coverage 

Structured functional specifications, such as pseudo-code 

Detail functionality

Error Guessing

--

All types of test basis

Diverse

Exploratory Testing

Diverse, according to choice        

All types of test basis

Diverse

Data Cycle Test

CRUD and Decision coverage

CRUD matrix

Data-integrity rules

Overall functionality

Connectivity

Suitability

Process Cycle Test

Path coverage test

depth level 2

Structured description of business or operating processes 

Suitability

Real-Life Test

Statistically responsible simulation

Operational profiles

Load profiles 

Effectivity

Connectivity

Performance

Semantic Test

Modified condition /

decision coverage

Input and output

specifications

Business rules

Functionality /

Validation test

Syntactic Test

Checklist

Input and output

specifications

Descriptions of

attributes

Functionality /

Validation test

User-friendliness

Use Case Test

Checklist

Use cases

Suitability

Effectivity

User-friendliness


Table 1: Overview of the most important features of the described test design techniques.